home *** CD-ROM | disk | FTP | other *** search
- QUICKSORT
-
- {*HIDE . ;}
- Procedure - | QUICK (m, n : address).
- VAR - i, j : address; | pivot, temp : position.
- m < n ?
- (true)
- pivot := tag (m + ((n - m) div 2)) |
- i := m ; j := n.
- i < j ;
- tag (i) < pivot ;
- i := succ (i).
- ;end
- pivot < tag (j) ;
- j := pred (j).
- ;end
- i <= j ?
- temp := tag (i) | tag (i) := tag (j) | tag (j) := temp.
- ?end
- ;end
- j - m < n - i ?
- (true)
- quick (m,j).
- quick (i,n).
- (false)
- quick (i,n).
- quick (m,j).
- ?end
- ?end
- stop.
-
-